define(["jquery"], function($){
    
    $(document).ready(function ($) {


        /*----------------------------------------------------------------------*/
        /* Parse the data from a data-attribute of DOM Elements
	/*----------------------------------------------------------------------*/
        $.parseData = function (data, returnArray) {
            if (/^\[(.*)\]$/.test(data)) { //array
                data = data.substr(1, data.length - 2).split(',');
            }
            if (returnArray && !$.isArray(data) && data != null) {
                data = Array(data);
            }
            return data;
        };
	 
        /*----------------------------------------------------------------------*/
        /* Image Preloader
	/* http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript
	/*----------------------------------------------------------------------*/
        // Arguments are image paths relative to the current page.
        $.preload = function() {
            var cache = [],
            args_len = arguments.length;
            for (var i = args_len; i--;) {
                var cacheImage = document.createElement('img');
                cacheImage.src = arguments[i];
                cache.push(cacheImage);
            }
        };
	
	
        /*----------------------------------------------------------------------*/
        /* fadeInSlide by revaxarts.com
	/* Fades out a box and slide it up before it will get removed
	/*----------------------------------------------------------------------*/


        $.fn.fadeInSlide = function (speed, callback) {
            if ($.isFunction(speed)) callback = speed;
            if (!speed) speed = 200;
            if (!callback) callback = function () {};
            this.each(function () {

                var $this = $(this);
                $this.fadeTo(speed / 2, 1).slideDown(speed / 2, function () {
                    callback();
                });
            });
            return this;
        };
	
	
        /*----------------------------------------------------------------------*/
        /* fadeOutSlide by revaxarts.com
	/* Fades out a box and slide it up before it will get removed
	/*----------------------------------------------------------------------*/


        $.fn.fadeOutSlide = function (speed, callback) {
            if ($.isFunction(speed)) callback = speed;
            if (!speed) speed = 200;
            if (!callback) callback = function () {};
            this.each(function () {

                var $this = $(this);
                $this.fadeTo(speed / 2, 0).slideUp(speed / 2, function () {
                    $this.remove();
                    callback();
                });
            });
            return this;
        };
	
        /*----------------------------------------------------------------------*/
        /* textFadeOut by revaxarts.com
	/* Fades out a box and slide it up before it will get removed
	/*----------------------------------------------------------------------*/


        $.fn.textFadeOut = function (text, delay, callback) {
            if (!text) return false;
            if ($.isFunction(delay)) callback = delay;
            if (!delay) delay = 2000;
            if (!callback) callback = function () {};
            this.each(function () {

                var $this = $(this);
                $this.stop().text(text).show().delay(delay).fadeOut(1000,function(){
                    $this.text('').show();
                    callback();
                })
            });
            return this;
        };
	
        /*----------------------------------------------------------------------*/
        /* leadingZero by revaxarts.com
	/* adds a leding zero if necessary
	/*----------------------------------------------------------------------*/
	
	
        $.leadingZero = function (value) {
            value = parseInt(value, 10);
            if(!isNaN(value)) {
                (value < 10) ? value = '0' + value : value;
            }
            return value;
        };


    });

    return $;
});